package br.ucb.sirad.beans.matriz;

import java.util.ArrayList;
import java.util.List;

public class EstruturaMatriz {

	private List<DocRelacionados> listaDocumentosRelacionados;
	private List<CasoUsoMatriz> listaCasosDeUso;
	
	public EstruturaMatriz() {
		super();
		this.listaDocumentosRelacionados = new ArrayList<DocRelacionados>();
		this.listaCasosDeUso = new ArrayList<CasoUsoMatriz>();
	}

	public CasoUsoMatriz addCasoDeUso(Long id, String nome)
	{
		CasoUsoMatriz csu = new CasoUsoMatriz();
		csu.setIdCasoUso(id);
		csu.setNomeCasoDeUso(nome);
		listaCasosDeUso.add(csu);
		
		return csu;
	}
	
	public DocRelacionados addDocRelacionado(Long id, String nome)
	{
		DocRelacionados doc = new DocRelacionados(id, nome);
		
		listaDocumentosRelacionados.add(doc);
		
		return doc;
	}
	
	public class CasoUsoMatriz
	{
		private Long idCasoUso;
		private String nomeCasoDeUso;
		private List<Long> documentosRelacionados;
	
		public CasoUsoMatriz() {
			super();
			documentosRelacionados = new ArrayList<Long>();
		}
		
		public void addDocRelacionado(Long idDocRel)
		{
			this.getDocumentosRelacionados().add(idDocRel);
		}
		
		public Long getIdCasoUso() {
			return idCasoUso;
		}
		public void setIdCasoUso(Long idCasoUso) {
			this.idCasoUso = idCasoUso;
		}
		public List<Long> getDocumentosRelacionados() {
			return documentosRelacionados;
		}
		public void setDocumentosRelacionados(List<Long> documentosRelacionados) {
			this.documentosRelacionados = documentosRelacionados;
		}
		public String getNomeCasoDeUso() {
			return nomeCasoDeUso;
		}
		public void setNomeCasoDeUso(String nomeCasoDeUso) {
			this.nomeCasoDeUso = nomeCasoDeUso;
		}
	}
	
	public class DocRelacionados
	{
		private Long idDoc;
		private String nomeDoc;
		
		public DocRelacionados() {
			super();
		}
		
		public DocRelacionados(Long idDoc, String nomeDoc) {
			super();
			this.idDoc = idDoc;
			this.nomeDoc = nomeDoc;
		}
		
		public Long getIdDoc() {
			return idDoc;
		}
		public void setIdDoc(Long idDoc) {
			this.idDoc = idDoc;
		}
		public String getNomeDoc() {
			return nomeDoc;
		}
		public void setNomeDoc(String nomeDoc) {
			this.nomeDoc = nomeDoc;
		}
	}
	
	public List<DocRelacionados> getListaDocumentosRelacionados() {
		return listaDocumentosRelacionados;
	}

	public void setListaDocumentosRelacionados(
			List<DocRelacionados> listaDocumentosRelacionados) {
		this.listaDocumentosRelacionados = listaDocumentosRelacionados;
	}

	public List<CasoUsoMatriz> getListaCasosDeUso() {
		return listaCasosDeUso;
	}

	public void setListaCasosDeUso(List<CasoUsoMatriz> listaCasosDeUso) {
		this.listaCasosDeUso = listaCasosDeUso;
	}
}
